-- KEYS[1]：优惠券缓存key  KEYS[2]：领取用户信息key  ARGV[1]:用户id
-- 判断是否存在 key
if(redis.call('exists', KEYS[1]) == 0) then
    return 1
end
-- 判断是否还有库存
if(tonumber(redis.call('hget', KEYS[1], 'totalNum')) <= 0) then
    return 2
end
-- 判断是否结束
if(tonumber(redis.call('time')[1]) > tonumber(redis.call('hget', KEYS[1], 'issueEndTime'))) then
    return 3
end
-- 限领数量
if(tonumber(redis.call('hget', KEYS[1], 'userLimit')) < redis.call('hincrby', KEYS[2], ARGV[1], 1)) then
    return 4
end
-- 扣减库存
redis.call('hincrby', KEYS[1], "totalNum", "-1")
return 0